👨🍳 jenkins | February 11, 2021
사실 이전에 Jenkins를 이용해서 docker를 자동으로 빌드하는 것을 테스트 해보았는데 생각해보니 webhook을 연동하려면 웹 호스팅이 필요했다. 로컬의 VM으로는 불가능… 결국 AWS-EC2로 빠르게 설정하고 테스트해보았다.
이때동안 우분투 AMI
만 사용했기에 빠른 시작 탭에서 이미지를 구할 수 있었는데 centos
이미지는 AWS-Marketplace에서 찾을 수 있다.
이후 젠키스의 기본 포트는 8080
포트이기 때문에 보안 그룹.인바운드에서 8080
포트를 개방해 주었다.
Jenkins와 github webhook를 위한 것이기 때문에 자세한 EC2 생성은 생략
$ sudo yum -y update
Jenkins는 자바 기반으로 돌아가는 오픈 소스이기 때문에 자바가 설치되어 있어야한다. 자바설치
$ sudo yum install java-1.8.0
$ sudo yum install -y wget
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
$ sudo yum install jenkins
$ sudo systemctl status jenkins
$ sudo systemctl start jenkins
8080
포트 LISTENING 중인지 확인$ netstat -na | grep 8080
$ sudo cat /var/lib/jenkins/secrets/initialAdminPasswor
Webhook은 웹상의 Trigger 같은 존재입니다. GitHub의 지정한 브랜치에 소스가 push 되면 webhook으로 젠킨스에게 알려주어 빌드를 유발하도록 설정합니다.
Jenkins [새로운 item - Freestyle project] 생성
GitHub hook trigger for GITScm polling
를 체크빌드할 내용을 정의
GitHub의 Webhook 세팅
Add webhook
버튼을 클릭Payload URL에 나의 젠키스 서버 주소를 입력 +
/github-webhook/
뒤에 추가적으로 입력해주어야 한다.
Active
버튼을 클릭해 활성화
echo
로 적은 명령어도 정상 출력되었다.https://yaboong.github.io/jenkins/2018/05/14/github-webhook-jenkins/